各位大神好!
弱弱的我一直在論壇跟大家挖東西,現在整理一些最近所學跟各位分享,就讓才疏學淺的我班門弄斧一下吧!
MySQL 配置權限一般是使用如下指令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY “密碼” ;
但是我最近自行練習時發現此指令會報錯,分享一下取代的方法
UPDATE USER SET Host='%',select_priv='y' where user='root';
總共有如下的權限可以設置
select_priv='y',insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y'
另外要設定密碼時會遇到密碼強度不符合系統要求的問題,此時可以降低密碼強度,指令如下
SET GLOBAL validate_password.length=6;
SET GLOBAL validate_password.policy=LOW;
希望這些分享有幫到大家
正常來說 root 是不需要再 grant 權限,在一開始安裝好的, root就有完整的權限了.
你那是安裝操作的過程中,不知道做了什麼,你大概也不知道不記得了,然後把他搞壞了.
需要要用另一個有權限的來補,但是如果是root (這時候已經有受傷了),來給root權限,
當然會有問題.
另外補充一下, mysql user table裡host 你更新語法, where user = 'root'
然後 set host = '%', 這樣 host = 'localhost' 的也被改成 host = '%'了.
你可以查一下
select user, host from user;
變動系統表的方式,最好是比較熟練的,再來操作,而且這些語法,隨著不同產品,不同版本
都會有差異.
grant 才是 ANSI 語法,具有較好的一致性與移植性.
大神安安!弱弱的我用 USE mysql 和 SELECT user, host FROM user 查出來的 host 仍是 localhost,但我的 mysql 經過多次重新安裝和設定也許早已覆蓋掉賦權指令,所以可能也不是很準。現在不太敢更新 mysql 的設定,之前 Ubuntu Software Update 進版結果 phpmyadmin 就壞掉了,當然大神所說的 GRANT 才是王道,等我以後熟練了再琢磨看看。
學習的過程中,這些都是正常的. 你之後可以再安裝一次,不要急著去修改. 先觀察(select 出來). 另外要記得在MySQL 裡面 user 是包含 host 才完整. localhost 這個有時候會因為一些原因,有點問題.
這時候不要急著去做手術(修改 user table).
先把當下的 table 備份,或是另外弄其他table 存起來.
後面要改回去,才好有參考.
DBEaver 好用多了.
https://dbeaver.io/
感謝大神的提醒,但弱弱的我現在主要學習的是用 Node.js 實作 RESTful API,所以 MySQL 的部分可能等告一段落後才能深入研究。有其他的大神介紹我這個網站 dbfiddle,弱弱的我是覺得滿好用的,以後要發問之前應該會先 try 過這個網站吧!DBEaver 現在也沒時間研究,都在學 Node.js,我這個年紀應該也沒公司願意重新訓練起,要學會才能去面試。
這個不急,一步步來.
感謝大神的鼓勵,我會加油的!